﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;
using ConfeccionesJR.Entites;

namespace ConfeccionesJR.Repository.Mapping
{
    public class DETALLE_PROFORMAMap:EntityTypeConfiguration<DETALLEPROFORMA>
    {
        public DETALLE_PROFORMAMap()
        {
            this.HasKey(t => t.Id);

            this.Property(d => d.Cantidad)
                .HasPrecision(9, 2)
                .IsRequired();

            this.Property(d => d.PrecioUnit)
                .HasPrecision(9, 2)
                .IsRequired();

            
            this.Ignore(d=>d.Monto);

            this.ToTable("DETALLE_PROFORMA");
            this.Property(d => d.Id).HasColumnName("Id");
            this.Property(d => d.productoId).HasColumnName("productoId");
            this.Property(d => d.proformaId).HasColumnName("proformaId");
            this.Property(d => d.Cantidad).HasColumnName("Cantidad");
            this.Property(d => d.PrecioUnit).HasColumnName("PrecioUnit");
            

            this.HasRequired(p => p.Producto)
                .WithMany(p => p.DETALLEPROFORMAs)
                .HasForeignKey(p => p.productoId);

            this.HasRequired(d => d.Proforma)
                .WithMany(v => v.DETALLEPROFORMAs)
                .HasForeignKey(d => d.proformaId);

        }
    }
}
